// pages/goods_list/index.js
//引入 自己定义的request函数,支持promise语法
import { request } from "../../request/request.js"
Page({
    // 页面的初始数据
    data: {
        list: [{ id: 0, name: '综合', isActive: true },
            { id: 1, name: '销量', isActive: false },
            { id: 2, name: '价格', isActive: false }
        ],
        //获取商品列表参数
        queryInfo: {
            query: "", //否	string	关键字
            cid: "", //否	string	分类id
            pagenum: 1, //否	number	页码
            pagesize: 10 //否	number	页容量
        },
        //保存商品列表数据
        goodList: [],
        //保存商品的总条数  默认0
        total: 0
    },
    //页面生成周期函数
    onLoad: function(options) {
        //options 为url参数
        this.data.queryInfo.cid = options.cid;
        this.getGoodList();
    },
    //获取商品列表函数
    async getGoodList() {
        const data = await request({ url: '/goods/search', data: this.data.queryInfo });
        this.setData({
            goodList: data.goods,
            total: data.total
        });
        wx.stopPullDownRefresh();
    },
    //切换tab栏
    handleTabsItemChange_f(e) {
        // console.log(e.detail);
        //获取索引了兄弟们
        let index = e.detail;
        // console.log(index);
        //干掉所有人留下我自己
        let list = this.data.list;
        list.forEach((element, i) => {
            //干掉所有人
            element.isActive = false;
            //留下我自己
            if (i == index) {
                element.isActive = true;
            }
        });
        this.setData({
            list
        })
    },
    //页面触底触发的函数  加载下一页
    async onReachBottom() {
        //获取总页数
        let TotalPage = Math.ceil(this.data.total / this.data.queryInfo.pagesize);
        //获取当前页
        let currentPage = this.data.queryInfo.pagenum;
        //进行判断,如果当前页小于总页数 则加载下一页  
        if (currentPage < TotalPage) {
            //还有下一页
            this.data.queryInfo.pagenum++;
            //发送请求
            const data = await request({ url: '/goods/search', data: this.data.queryInfo });
            //连接数组
            let new_list = this.data.goodList.concat(data.goods);
            //将新数组赋值给老数组
            this.setData({
                goodList: new_list
            })
        } else {
            //没有下一页了 呜呜呜
            wx.showToast({
                title: '没有更多数据',
                icon: 'none',
                image: '',
                duration: 1500,
                mask: false,
            });

        }
    },
    //监视用户下拉刷新
    onPullDownRefresh() {
        // console.log(11);
        this.data.queryInfo.pagenum = 1;
        this.getGoodList();
    }
})